<!--
 * @FilePath     : /layui/demo/1580.html
 * @Description  : 下拉表格
 * @Date         : 2025-02-25 10:09
 * @Author       : Fang YingGui
 * @LastEditors  : fangyinggui 18715384437@163.com
 * @LastEditTime : 2025-02-25 10:17
-->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>documentName</title>
    <link rel="stylesheet" href="/layui/dist/css/layui.css" />
  </head>
  <body>
    <div id="demo1" class="xm-select-demo"></div>

    <script src="/layui/dist/layui.js"></script>
    <script src="/xm-select/dist/xm-select.js"></script>
    <script>
      // 1、先渲染多选
      var demo1 = xmSelect.render({
        el: '#demo1',
        // 2、下拉渲染的内容是一个 layui 表格（依赖 layui 样式）；
        content: `
        <table class="layui-table" lay-filter="demo">
          <thead>
          <tr>
            <th lay-data="{field:'username', width:80}">昵称</th>
            <th lay-data="{field:'experience', width:50, sort:true}">积分</th>
            <th lay-data="{field:'sign', width: 200}">签名</th>
          </tr>
          </thead>
          <tbody>
          <tr>
            <td>贤心1</td>
            <td>66</td>
            <td>人生就像是一场修行a</td>
          </tr>
          <tr>
            <td>贤心2</td>
            <td>88</td>
            <td>人生就像是一场修行b</td>
          </tr>
          <tr>
            <td>贤心3</td>
            <td>33</td>
            <td>人生就像是一场修行c</td>
          </tr>
          </tbody>
        </table>
        `,

        // 5、自定义数据字段
        prop: {
          name: 'username',
          value: 'experience',
        },
      })

      // 3、layui 初始化这个表格；
      layui.table
        .init('demo', {
          done: function (res) {
            console.log(1, '获取表格数据', res)
            // 4、这里将表格数据作为下拉选数据渲染；
            demo1.update({
              data: res.data,
            })
          },
        })
        // 6、再监听表格的 行点击事件；
        .on('row(demo)', function (obj) {
          console.log(2, '当前行数据', obj)
          var values = demo1.getValue()
          var item = obj.data
          var has = values.find(i => i.username === item.username)
          if (has) {
            demo1.delete([item]) // 追加赋值
          } else {
            demo1.append([item]) // 删除赋值
          }
        })
    </script>
  </body>
</html>
